#ifndef TRACKVIEW_H
#define TRACKVIEW_H
#include "Troll3D_global.h"
#include <GeoTool/vec4.h>
#include <GeoTool/Matrix.h>
#include <Entity.h>
#include <View.h>


/*! @brief The TrackView class is used to lock the camera around a point in space   */
class TROLL3DSHARED_EXPORT TrackView : public Entity
{
    /********************************
    /*          Public
    /********************************/
    public :

        /********************************
        /*          Constructors
        /********************************/


            TrackView(vec4 & lockpoint);

        /********************************
        /*          Methods
        /********************************/

            void RotateView(int x, int y);
            void Zoom(float zoomValue);

        /********************************
        /*          Properties
        /********************************/

            vec4*       m_Center;       /*!< Point the TrackView is looking at  */
            float       m_Radius;       /*!< Radius between the Camera and the center   */
            float       m_Teta;
            float       m_Alpha;
            Matrix4     *   m_ProjectionMatrix;
            Matrix4 *       m_ViewMatrix;
            ProjectionMode  m_Mode;

        /********************************
        /*      Virtual Methods
        /********************************/

            void Display();
            void Update();



};

#endif
